﻿package gear.ui.bd {
	import gear.core.IDispose;

	/**
	 * 位图数据定义
	 * 
	 * @author bright
	 * @version 20101015
	 */
	public final class BDData implements IDispose {
		private var _list : Array;
		private var _total : int;

		/**
		 * 构造函数
		 * 
		 * @param value 位图数组.
		 */
		public function BDData(value : Array) {
			_list = value;
			_total = _list.length;
		}

		/**
		 * 获得指定帧的位图
		 * 
		 * @param frame 第几帧
		 * @return 位图
		 */
		public function getBDUnit(frame : int) : BDUnit {
			if(frame < 0 || frame >= _list.length) {
				return null;
			}
			return _list[frame];
		}

		/**
		 * 获得总帧数
		 * 
		 * @return 总帧数
		 */
		public function get total() : int {
			return _total;
		}

		/**
		 * @inheritDoc
		 */
		public function dispose() : void {
			if(_list == null || _list.length == 0) {
				return;
			}
			for each(var bd:BDUnit in _list) {
				bd.dispose();
			}
			_list.splice(0);
		}
	}
}